module common.core {
	requires java.sql;
	requires java.net.http;
	requires java.validation;
	requires transitive org.slf4j;
	requires transitive org.apache.logging.log4j;
	requires fastjson;
	requires static lombok;
	requires com.github.benmanes.caffeine;
	requires spring.core;
	requires spring.aop;
	requires spring.beans;
	requires spring.context;
	requires spring.boot;
	requires spring.boot.autoconfigure;
	requires org.hibernate.validator;

	exports web.common.core.annotation;
	exports web.common.core.cache;
	exports web.common.core.collection;
	exports web.common.core.convert;
	exports web.common.core.exception;
	exports web.common.core.http;
	exports web.common.core.id;
	exports web.common.core.io;
	exports web.common.core.message;
	exports web.common.core.reflect;
	exports web.common.core.security;
	exports web.common.core.util;
	exports web.common.core.validation;
	exports web.common.core.validation.annotation;
	exports web.common.core.validation.group;
	exports web.common.core.validation.validator;

	exports web.common.internal.core.config to spring.beans, spring.context, spring.boot;

	opens web.common.internal.core.config to spring.core;
	opens web.common.core.message to org.hibernate.validator;
}